perm filename GTREE.LAP[206,JMC] blob sn#075778 filedate 1973-12-04 generic text, type T, neo UTF8
(DEFPROP PRFFNS (PRFFNS PRFMAX PRFMIN RECTIFY COMMONTAIL COMMONHEAD) VALUE) 

(LAP PRFMAX SUBR) 
       (PUSH P 1) 
       (PUSH P 2) 
       (PUSH P 3) 
       (PUSH P 4) 
       (PUSH P 5) 
       (JUMPN 1 TAG2) 
       (MOVE 1 3) 
       (CALL 1 (E NCONS) S) 
       (MOVE 2 -3 P) 
       (CALL 2 (E XCONS) S) 
       (MOVE 2 4) 
       (CALL 2 (E XCONS) S) 
       (JRST 0 TAG1) 
 TAG2  (HLRZ@ 1 -4 P) 
       (CALL 1 (E RECTIFY) S) 
       (MOVE 3 0 P) 
       (MOVE 2 -1 P) 
       (CALL 3 (E TER) S) 
       (JUMPE 1 TAG7) 
       (HLRZ@ 1 -4 P) 
       (CALL 1 (E RECTIFY) S) 
       (CALL 1 (E IMVAL) S) 
       (PUSH P 1) 
       (CALL 1 (E NCONS) S) 
       (PUSH P 1) 
       (MOVE 1 -1 P) 
       (CALL 1 (E NCONS) S) 
       (CALL 1 (E NCONS) S) 
       (POP P 2) 
       (CALL 2 (E XCONS) S) 
       (POP P 2) 
       (CALL 2 (E XCONS) S) 
       (JRST 0 TAG6) 
 TAG7  (HLRZ@ 1 -4 P) 
       (CALL 1 (E RECTIFY) S) 
       (CALL 1 (E SUCCESSORS) S) 
       (MOVEI 2 (QUOTE BETA-CUTOFF) S) 
       (PUSH P 1) 
       (MOVE 1 -1 P) 
       (CALL 2 (E CONS) S) 
       (MOVE 5 -1 P) 
       (MOVE 4 -2 P) 
       (MOVE 3 1) 
       (MOVEI 2 (QUOTE NIL)) 
       (POP P 1) 
       (CALL 5 (E PRFMIN) S) 
 TAG6  (PUSH P 1) 
       (MOVE 2 -2 P) 
       (HLRZ@ 1 1) 
       (CALL 2 (E *GREAT) S) 
       (JUMPN 1 TAG13) 
       (HRRZ@ 1 -5 P) 
       (PUSH P 1) 
       (HLRZ@ 1 -6 P) 
       (CALL 1 (E EXT) S) 
       (HRRZ@ 2 -1 P) 
       (HRRZ@ 2 2) 
       (HLRZ@ 2 2) 
       (CALL 2 (E CONS) S) 
       (MOVE 2 -4 P) 
       (CALL 2 (E CONS) S) 
       (MOVE 5 -2 P) 
       (MOVE 4 -3 P) 
       (MOVE 3 1) 
       (MOVE 2 -5 P) 
       (POP P 1) 
       (CALL 5 (E PRFMAX) S) 
       (JRST 0 TAG12) 
 TAG13 (MOVE 2 -1 P) 
       (HLRZ@ 1 0 P) 
       (CALL 2 (E *LESS) S) 
       (JUMPE 1 TAG15) 
       (HRRZ@ 1 -5 P) 
       (PUSH P 1) 
       (HLRZ@ 1 -6 P) 
       (CALL 1 (E EXT) S) 
       (HRRZ@ 2 -1 P) 
       (HLRZ@ 2 2) 
       (CALL 2 (E CONS) S) 
       (PUSH P 1) 
       (HLRZ@ 1 -7 P) 
       (CALL 1 (E EXT) S) 
       (HRRZ@ 2 -2 P) 
       (HRRZ@ 2 2) 
       (HLRZ@ 2 2) 
       (CALL 2 (E CONS) S) 
       (MOVE 2 -5 P) 
       (CALL 2 (E CONS) S) 
       (MOVE 5 -3 P) 
       (HLRZ@ 4 -2 P) 
       (MOVE 3 1) 
       (POP P 2) 
       (POP P 1) 
       (CALL 5 (E PRFMAX) S) 
       (JRST 0 TAG12) 
 TAG15 (HLRZ@ 1 -5 P) 
       (CALL 1 (E EXT) S) 
       (HRRZ@ 2 0 P) 
       (HLRZ@ 2 2) 
       (CALL 2 (E CONS) S) 
       (PUSH P 1) 
       (MOVEI 1 (QUOTE NIL)) 
       (CALL 1 (E NCONS) S) 
       (POP P 2) 
       (CALL 2 (E XCONS) S) 
       (MOVE 2 -1 P) 
       (CALL 2 (E XCONS) S) 
 TAG12 (SUB P (C 1 0 1 0)) 
 TAG1  (SUB P (C 5 0 5 0)) 
       (POPJ P) 
       NIL 

(LAP PRFMIN SUBR) 
       (PUSH P 1) 
       (PUSH P 2) 
       (PUSH P 3) 
       (PUSH P 4) 
       (PUSH P 5) 
       (JUMPN 1 TAG2) 
       (MOVE 1 3) 
       (CALL 1 (E NCONS) S) 
       (MOVE 2 -3 P) 
       (CALL 2 (E XCONS) S) 
       (MOVE 2 5) 
       (CALL 2 (E XCONS) S) 
       (JRST 0 TAG1) 
 TAG2  (HLRZ@ 1 -4 P) 
       (CALL 1 (E RECTIFY) S) 
       (MOVE 3 0 P) 
       (MOVE 2 -1 P) 
       (CALL 3 (E TER) S) 
       (JUMPE 1 TAG7) 
       (HLRZ@ 1 -4 P) 
       (CALL 1 (E RECTIFY) S) 
       (CALL 1 (E IMVAL) S) 
       (PUSH P 1) 
       (CALL 1 (E NCONS) S) 
       (PUSH P 1) 
       (MOVE 1 -1 P) 
       (CALL 1 (E NCONS) S) 
       (CALL 1 (E NCONS) S) 
       (POP P 2) 
       (CALL 2 (E XCONS) S) 
       (POP P 2) 
       (CALL 2 (E XCONS) S) 
       (JRST 0 TAG6) 
 TAG7  (HLRZ@ 1 -4 P) 
       (CALL 1 (E RECTIFY) S) 
       (CALL 1 (E SUCCESSORS) S) 
       (MOVEI 2 (QUOTE ALPHA-CUTOFF) S) 
       (PUSH P 1) 
       (MOVE 1 -2 P) 
       (CALL 2 (E CONS) S) 
       (MOVE 5 -1 P) 
       (MOVE 4 -2 P) 
       (MOVEI 3 (QUOTE NIL)) 
       (MOVE 2 1) 
       (POP P 1) 
       (CALL 5 (E PRFMAX) S) 
 TAG6  (PUSH P 1) 
       (MOVE 2 -2 P) 
       (HLRZ@ 1 1) 
       (CALL 2 (E *GREAT) S) 
       (JUMPN 1 TAG13) 
       (HLRZ@ 1 -5 P) 
       (CALL 1 (E EXT) S) 
       (HRRZ@ 2 0 P) 
       (HRRZ@ 2 2) 
       (HLRZ@ 2 2) 
       (CALL 2 (E CONS) S) 
       (CALL 1 (E NCONS) S) 
       (MOVEI 2 (QUOTE NIL)) 
       (CALL 2 (E XCONS) S) 
       (MOVE 2 -2 P) 
       (CALL 2 (E XCONS) S) 
       (JRST 0 TAG12) 
 TAG13 (MOVE 2 -1 P) 
       (HLRZ@ 1 0 P) 
       (CALL 2 (E *LESS) S) 
       (JUMPE 1 TAG15) 
       (HRRZ@ 1 -5 P) 
       (PUSH P 1) 
       (HLRZ@ 1 -6 P) 
       (CALL 1 (E EXT) S) 
       (HRRZ@ 2 -1 P) 
       (HLRZ@ 2 2) 
       (CALL 2 (E CONS) S) 
       (MOVE 2 -5 P) 
       (CALL 2 (E CONS) S) 
       (PUSH P 1) 
       (HLRZ@ 1 -7 P) 
       (CALL 1 (E EXT) S) 
       (HRRZ@ 2 -2 P) 
       (HRRZ@ 2 2) 
       (HLRZ@ 2 2) 
       (CALL 2 (E CONS) S) 
       (HLRZ@ 5 -2 P) 
       (MOVE 4 -4 P) 
       (MOVE 3 1) 
       (POP P 2) 
       (POP P 1) 
       (CALL 5 (E PRFMIN) S) 
       (JRST 0 TAG12) 
 TAG15 (HRRZ@ 1 -5 P) 
       (PUSH P 1) 
       (HLRZ@ 1 -6 P) 
       (CALL 1 (E EXT) S) 
       (HRRZ@ 2 -1 P) 
       (HLRZ@ 2 2) 
       (CALL 2 (E CONS) S) 
       (MOVE 2 -5 P) 
       (CALL 2 (E CONS) S) 
       (MOVE 5 -2 P) 
       (MOVE 4 -3 P) 
       (MOVE 3 -4 P) 
       (MOVE 2 1) 
       (POP P 1) 
       (CALL 5 (E PRFMIN) S) 
 TAG12 (SUB P (C 1 0 1 0)) 
 TAG1  (SUB P (C 5 0 5 0)) 
       (POPJ P) 
       NIL 

(LAP RECTIFY SUBR) 
       (JSP 6 SPECBIND) 
       (0 1 (SPECIAL P) S) 
       (MOVE 2 (SPECIAL P1) S) 
       (CALL 2 (E COMMONTAIL) S) 
       (PUSH P 1) 
       (PUSH P (C 0 0 (QUOTE NIL) 0)) 
 TAG1  (MOVE 2 (SPECIAL P1) S) 
       (MOVE 1 -1 P) 
       (CALL 2 (E EQUAL) S) 
       (JUMPN 1 TAG2) 
       (CALL 0 (E REVERT) S) 
       (JRST 0 TAG1) 
 TAG2  (MOVE 2 (SPECIAL P1) S) 
       (MOVE 1 (SPECIAL P) S) 
       (CALL 2 (E LISTSUBT) S) 
       (MOVEM 1 0 P) 
 TAG3  (MOVE 1 0 P) 
       (JUMPN 1 TAG11) 
       (MOVE 1 (SPECIAL P) S) 
       (JRST 0 TAG4) 
 TAG11 (HLRZ@ 1 0 P) 
       (CALL 1 (E UPDATE) S) 
       (HRRZ@ 1 0 P) 
       (MOVEM 1 0 P) 
       (JRST 0 TAG3) 
 TAG4  (SUB P (C 2 0 2 0)) 
       (JRST 0 SPECSTR) 
       NIL 

(LAP COMMONTAIL SUBR) 
       (PUSH P 2) 
       (CALL 1 (E REVERSE) S) 
       (EXCH 1 0 P) 
       (CALL 1 (E REVERSE) S) 
       (MOVE 2 1) 
       (POP P 1) 
       (CALL 2 (E COMMONHEAD) S) 
       (JCALL 1 (E REVERSE) S) 
       NIL 

(LAP COMMONHEAD SUBR) 
       (PUSH P 1) 
       (PUSH P 2) 
       (JUMPE 1 TAG4) 
       (JUMPE 2 TAG4) 
       (HLRZ@ 2 2) 
       (HLRZ@ 1 1) 
       (CALL 2 (E EQUAL) S) 
       (JUMPN 1 TAG2) 
 TAG4  (MOVEI 1 (QUOTE NIL)) 
       (JRST 0 TAG1) 
 TAG2  (HLRZ@ 1 -1 P) 
       (HRRZ@ 2 0 P) 
       (PUSH P 1) 
       (HRRZ@ 1 -2 P) 
       (CALL 2 (E COMMONHEAD) S) 
       (POP P 2) 
       (CALL 2 (E XCONS) S) 
 TAG1  (SUB P (C 2 0 2 0)) 
       (POPJ P) 
       NIL